/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.trandio.dao;

import java.sql.SQLException;
import java.util.Date;
import java.util.List;
import javax.naming.NamingException;
import org.trandio.model.CitaVO;
import org.trandio.model.EntidadVO;
import org.trandio.model.TurnoDetVO;
import org.trandio.model.TurnoVO;

/**
 *
 * @author root
 */
public interface CitaInterface {

    public List<TurnoDetVO> consultarDetalleTurno(int id_medico, String fecha_turno, int id_sede) throws SQLException, NamingException;
    
    public List<TurnoDetVO> consultarDetalleTurnoLibre(int id_medico, String fecha_turno, int id_sede) throws SQLException, NamingException;
    
    public List<TurnoDetVO> consultarDetalleTurnoVigentePaciente(int id_medico, String fecha_turno, int id_sede, int id_paciente) throws SQLException, NamingException;
    
    public List<TurnoDetVO> consultarDetalleTurnoInasistente(int id_medico, String fecha_turno, int id_sede) throws SQLException, NamingException;
    
    public List<TurnoDetVO> consultarDetalleTurnoParaBloquear(int id_medico, String fecha_turno1, String fecha_turno2, int id_sede) throws SQLException, NamingException;
    
    
    public int bloquearTurno(int id_medico, String fecha_turno1, String fecha_turno2, int id_sede) throws SQLException, NamingException;
    
    
    
    public int bloquearTurno(int id_detturno) throws SQLException, NamingException;
    
    public int desBloquearTurno(int id_detturno) throws SQLException, NamingException;
    

    public void asignarCita(int id_detturno, int id_medico, int id_paciente) throws SQLException, NamingException;

    public void anularCita(int id_detturno) throws SQLException, NamingException;
    
    public void marcarAsistenciaCita(int id_detturno) throws SQLException, NamingException;

    public CitaVO getDatosCita(int id) throws SQLException, NamingException;

    public List<TurnoVO> consultarTurno(int medico, int sede) throws NamingException, SQLException;

    public int turnosFecha(int medico, Date fecha) throws SQLException, NamingException;

    public int turnosAsignadosFecha(int medico, Date fecha) throws SQLException, NamingException;

    public List<TurnoVO> consultarTurnosOk(int medico, int sede) throws SQLException, NamingException;

    public void actualizarEstadoCita(int idCita) throws SQLException, NamingException;
}